108D - Basketball Team - CodeForces Solution


combinatorics math probabilities *1600

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>

using namespace std;

const int N = 1005;
int n, m, h, a[N], tot;
double s = 1;

main() {
  ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  cin >> n >> m >> h;
  for(int i = 1; i <= m; ++i) cin >> a[i], tot += a[i];
  if(tot < n) return cout << -1, 0;
  for(int i = 1; i < n; ++i) {
    s = s * 1.0f * (double)((double)tot + 1 - a[h] - i) / (double)(tot - i);
  }
  cout << setprecision(6) << fixed << 1.0 - s;
}


Comments

Submit
0 Comments
More Questions

807A - Is it rated
1096A - Find Divisible
1430C - Numbers on Whiteboard
1697B - Promo
208D - Prizes Prizes more Prizes
659A - Round House
1492C - Maximum width
171B - Star
1512B - Almost Rectangle
831B - Keyboard Layouts
814A - An abandoned sentiment from past
268C - Beautiful Sets of Points
1391C - Cyclic Permutations
11A - Increasing Sequence
1406A - Subset Mex
1365F - Swaps Again
50B - Choosing Symbol Pairs
1719A - Chip Game
454B - Little Pony and Sort by Shift
1152A - Neko Finds Grapes
1719B - Mathematical Circus
1719C - Fighting Tournament
1642A - Hard Way
285C - Building Permutation
1719E - Fibonacci Strings
1696C - Fishingprince Plays With Array
1085A - Right-Left Cipher
1508B - Almost Sorted
1690C - Restoring the Duration of Tasks
1055A - Metro